package cn.abcsys.cloud.devops.web.dao;

import java.util.List;
import java.util.Map;

import cn.abcsys.cloud.devops.web.entity.Role;
import cn.abcsys.cloud.devops.web.entity.User;
import cn.abcsys.cloud.devops.web.entity.UserRoleEnvProj;

import java.sql.SQLException;

/**
 * @author xzg
 * 角色信息接口
 */
public interface RoleMapper {

	/**
	 * 根据角色id查找
	 * @param roleId
	 * @return
	 */
	public Role getRoleById(Integer roleId);
	
	/**
	 * 根据角色名称查找
	 * @param roleName
	 * @return
	 */
	public List<Role> getRoles(Map<?,?> map);
	
	/**
	 * 根据角色id删除
	 * @param roleId
	 * @return
	 */
	public int deleteRoleById(Integer roleId)  throws SQLException;
	
	/**
	 * 新增角色
	 * @param role
	 * @return
	 */
	public int insertRole(Role role)  throws SQLException;
	
	/**
	 * 根据角色id更新角色信息
	 * @param role
	 * @return
	 */
	public int updateRoleById(Role role)  throws SQLException;
	
	/**
	 * 查看该用户所能看到修改的角色信息
	 * @param user
	 * @return
	 */
	public List<Role> getRolePermmitMod(User user);
	
	/**
	 * 查询该用户所在环境的角色信息
	 * @param ure
	 * @return
	 */
	public List<Role> getUserEnvRole(UserRoleEnvProj ure);
}
